/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modele;

/**
 * Classe abstraite représentant une propriété (case achetable)
 * @author EpsilonE
 */
public abstract class Propriete extends Case
{
    protected Joueur proprietaire;
    protected int prix;
    protected int loyer;
    protected boolean hypotheque = false;
    protected final Groupe typeGroupe;
    
    public Propriete(String No, int Nu, Groupe Tg, int Pr, int Lo, boolean achetable, boolean aVendre)
    {
        super(No, Nu, achetable, aVendre);
        this.typeGroupe = Tg;
        this.prix = Pr;
        this.loyer = Lo;
    }

    /**
     * @return the proprietaire
     */
    public Joueur getProprietaire() 
    {
        return proprietaire;
    }

    /**
     * @param proprietaire the proprietaire to set
     */
    public void setProprietaire(Joueur proprietaire) 
    {
        this.proprietaire = proprietaire;
    }

    /**
     * @return the prix
     */
    public int getPrix() 
    {
        return prix;
    }

    /**
     * @return the loyer
     */
    public int getLoyer() 
    {
        return loyer;
    }

    /**
     * @return the hypotheque
     */
    public boolean isHypotheque() 
    {
        return hypotheque;
    }

    /**
     * @param hypotheque the hypotheque to set
     */
    public void setHypotheque(boolean hypotheque) 
    {
        this.hypotheque = hypotheque;
    }

    /**
     * @return the typeGroupe
     */
    public Groupe getTypeGroupe() 
    {
        return typeGroupe;
    }
}
